Buongiorno, so che il titolo è molto brutto, per cui vado subito a spiegarmi meglio:
Mi sono fatto una classe utile a gestire i numeri naturali, con una capacità di immagazinare (2**((2**(8*sizeof(size_t))-1))-1) numeri, chiaramente facendo i calcoli con operatori bitwise. Per cui, per esempio, potrei avere in memoria un numero del tipo 10100101 10101101 00100101 10000001 11111101 10100100 00000001 00100001 11100111 00011010 (giusto per dire un numero a caso che non può stare in nessun tipo nativo).
Siccome mi è impossibile rilevarmi il valore decimale di questo numero(utilizzando il metodo classico), visto che dovrei arrivare a fare operazioni oltre il 2**70 che andrebbero in overflow anche negli unsigned __int64, mi chiedevo se esisteva un altro metodo per determinarmi il valore decimale di ogni singolo char da stampare a schermo. Probabilmente, ma è solo una mia idea, funzioni come printf utilizzaranno un algoritmo simile a quello che serve a me per estrapolarsi dai bytes dei vari int, unsigned int, ecc... i valori decimali delle singole cifre da stampare su schermo, altrimenti non saprei come possano fare...
Avete qualche idea? Grazie.
PS: Chiaramente con "**" intendo l'elevamento a potenza
|